package org.polyforms.repository.spi;

/**
 * Helper for resolving parameters of query.
 * 
 * @author Kuisong Tong
 * @since 1.0
 */
public interface PersistenceProvider {
    /**
     * Check whether the condition of the persistence provider is satisfied.
     */
    boolean matches();

    /**
     * Get {@link EntityHelper}.
     */
    EntityHelper getEntityHelper();

    /**
     * Get {@link IdentifierHelper}.
     */
    IdentifierHelper getIdentifierHelper();

    /**
     * Get {@link QueryParameterResolver}.
     */
    QueryParameterResolver getQueryParameterResolver();
}
